:CopyMemory
{
 Description: 
    Copies specified number of bytes from first adress in memory to a second.
 Type: PROC
  
 Parameters:
   Passed:
     0@ - source memory adress
     1@ - number of bytes to copy from source to target adress
     2@ - destination adress
     3@ - virtual protect (1/0)

   Result:
     none
 
 Example:                                                                                                   
  0AB1: call_scm_func @CopyMemory 4 source_adress 0@ size_to_copy 5 destination_adress 0xB7015C virtual_protect 1
}


    for 4@ = 1 to 1@   
    0A8D: 5@ = read_memory 0@ size 1 virtual_protect 3@

    0A8C: write_memory 2@ size 1 value 5@ virtual_protect 3@  
    
    0@ += 1
    2@ += 1      
    end
    
0AB2: ret 0